Portable electronic device having touch-sensitive display with variable repeat rate

ABSTRACT

A method of controlling the repeat rate of a button displayed on a touch-sensitive display of a portable electronic device is described. In accordance with one embodiment, there is provided a method of controlling touch input on a touch-sensitive display of a portable electronic device, the method comprising: displaying a user interface screen having at least one button on the touch-sensitive display; activating a variable repeat control mode in response to activation input; and repeating an action associated with the button at a rate in dependence on predetermined control input.

CROSS-REFERENCE TO RELATED APPLICATION

The present application claims priority to, and the benefit of,provisional U.S. patent application Ser. No. 61/326,083, filed Apr. 20,2010, which is incorporated herein by reference in its entirety.

TECHNICAL FIELD

The present disclosure relates to portable electronic devices, and inparticular to portable electronic devices having touchscreen displaysand their control.

BACKGROUND

Electronic devices, including portable electronic devices, have gainedwidespread use and may provide a variety of functions including, forexample, telephonic, electronic messaging and other personal informationmanager (PIM) application functions. Portable electronic devicesinclude, for example, several types of mobile stations such as simplecellular telephones, smart telephones, wireless personal digitalassistants (PDAs), and laptop computers with wireless 802.11 orBluetooth™ capabilities.

Portable electronic devices such as PDAs or smart telephones aregenerally intended for handheld use and ease of portability. Smallerdevices are generally desirable for portability. A touch-sensitivedisplay, also known as a touchscreen display, is particularly useful onhandheld devices, which are small and have limited space for user inputand output. The information displayed on the touch-sensitive displaysmay be modified depending on the functions and operations beingperformed. Performing repetitive actions on touch-sensitive displayswhile maintaining an efficient graphical user interface is a challengefor portable electronic devices having touch-sensitive displays.Accordingly, improvements in controlling inputs of touch-sensitivedisplays of portable electronic devices are desirable.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a simplified block diagram of components including internalcomponents of a portable electronic device suitable for carrying out theexample embodiments of the present disclosure;

FIG. 2 is a front view of an example of a portable electronic device ina portrait orientation;

FIG. 3 is a flowchart illustrating an example method of controlling therepeat rate of a button displayed on a touch-sensitive display inaccordance with one example embodiment of the present disclosure;

FIGS. 4A and 4B are example user interface screens having a backspacebutton with a variable repeat rate in accordance with the presentdisclosure; and

FIGS. 5A to 5C are example user interface screens having a space buttonwith a variable repeat rate in accordance with the present disclosure.

DETAILED DESCRIPTION OF EXAMPLE EMBODIMENTS

The present disclosure provides a method of controlling the repeat rateof a button displayed on a touch-sensitive display of a portableelectronic device. When the button is activated, input received by theportable electronic device may be used to vary the repeat rate of thebutton. The repeat rate may be varied by an amount proportional to theinput received by the portable electronic device. When the input is atouch gesture detected by the touch-sensitive display, the speed and/ordistance of the detected touch gesture may be used to proportionallyvary the repeat rate of the button. A visual indication of the input forvarying the repeat rate of the button may be displayed on thetouch-sensitive display.

In accordance with one embodiment of the present disclosure, there isprovided a method of controlling touch input on a touch-sensitivedisplay of a portable electronic device, the method comprising:displaying a user interface screen having at least one button on thetouch-sensitive display; varying a repeat rate of an action associatedwith the button in response to received input; and repeating the actionassociated with the button at the repeat rate, for example, whenpredetermined control input is received. In some examples, the repeatrate is varied in response to receiving selection input activating thebutton. In some examples, the repeat rate is varied by an amountproportional to the received input. In some examples, the action isinputting a character.

In accordance with another embodiment of the present disclosure, thereis provided a method of controlling touch input on a touch-sensitivedisplay of a portable electronic device, the method comprising:displaying a user interface screen having at least one button on thetouch-sensitive display; activating a variable repeat control mode inresponse to activation input; and repeating an action associated withthe button at a rate dependent on predetermined control input. In someexamples, the action is inputting a character.

In some examples, a visual indication of the predetermined control inputfor varying the rate of repeating the action is displayed on thetouch-sensitive display when the variable repeat control mode isactivated.

In some examples, a variable repeat control mode area is defined forreceiving the predetermined control input. In some examples, a visualindication of the variable repeat control mode area is displayed on theuser interface screen when in the variable repeat control mode.

In accordance with a further embodiment of the present disclosure, thereis provided a portable electronic device, comprising: a processor; atouch-sensitive display having a touch-sensitive overlay coupled to theprocessor; wherein the processor is configured for: causing displayingof a user interface screen having at least one button on thetouch-sensitive display; activating a variable repeat control mode inresponse to activation input; and repeating an action associated withthe button at a rate dependent on predetermined control input.

In accordance with yet a further embodiment of the present disclosure,there is provided a portable electronic device, comprising: a processor;a touch-sensitive display having a touch-sensitive overlay coupled tothe processor; wherein the portable electronic device, for example viathe processor, is configured for performing the method(s) set forthherein.

In accordance with yet a further embodiment of the present disclosure,there is provided a computer program product comprising a computerreadable medium having stored thereon computer program instructions forimplementing a method on a portable electronic device for controllingits operation, the computer executable instructions comprisinginstructions for performing the method(s) set forth herein.

For simplicity and clarity of illustration, reference numerals may berepeated among the figures to indicate corresponding or analogouselements. Numerous details are set forth to provide an understanding ofthe embodiments described herein. The embodiments may be practicedwithout these details. In other instances, well-known methods,procedures, and components have not been described in detail to avoidobscuring the embodiments described. The description is not to beconsidered as limited to the scope of the embodiments described herein.

The disclosure generally relates to an electronic device, which is aportable electronic device in the embodiments described herein. Examplesof portable electronic devices include mobile, or handheld, wirelesscommunication devices such as pagers, cellular phones, cellularsmart-phones, wireless organizers, PDAs, wirelessly enabled notebookcomputers, tablet computing devices, and so forth. The portableelectronic device may also be a portable electronic device with orwithout wireless communication capabilities, such as a handheldelectronic game device, digital photograph album, digital camera, orother device.

A block diagram of an example of a portable electronic device 100 isshown in FIG. 1. The portable electronic device 100 includes multiplecomponents, such as a processor 102 that controls the overall operationof the portable electronic device 100. Communication functions,including data and voice communications, are performed through acommunication subsystem 104. Data received by the portable electronicdevice 100 is decompressed and decrypted by a decoder 106. Thecommunication subsystem 104 receives messages from and sends messages toa wireless network 150. The wireless network 150 may be any type ofwireless network, including, but not limited to, data wireless networks,voice wireless networks, and networks that support both voice and datacommunications. A power source 142, such as one or more rechargeablebatteries or a port to an external power supply, powers the portableelectronic device 100. While the shown portable electronic device 100 isa “bar” or “brick” style device, the present disclosure is intended tocapture all types of form factors including, but not limited to,slider-style and flip-style devices.

The processor 102 interacts with other components, such as Random AccessMemory (RAM) 108, memory 110, a display 112 (such as a liquid crystaldisplay (LCD)) with a touch-sensitive overlay 114 operably coupled to anelectronic controller 116 that together comprise a touch-sensitivedisplay 118, one or more actuators 120, one or more force sensors 122,one or more auxiliary input/output (I/O) subsystems 124, a data port126, a speaker 128, a microphone 130, short-range communicationssubsystem 132, and other device subsystems 134. User-interaction with agraphical user interface (GUI) is performed through the touch-sensitiveoverlay 114. The processor 102 interacts with the touch-sensitiveoverlay 114 via the electronic controller 116. Information, such astext, characters, symbols, images, icons, and other items that may bedisplayed or rendered on a portable electronic device, is displayed onthe touch-sensitive display 118 via the processor 102. The processor 102may interact with an accelerometer 136 that may be utilized to detectdirection of gravitational forces or gravity-induced reaction forces.

To identify a subscriber for network access, the portable electronicdevice 100 uses a Subscriber Identity Module or a Removable UserIdentity Module (SIM/RUIM) card 138 for communication with a network,such as the wireless network 150. Alternatively, user identificationinformation may be programmed into memory 110.

The portable electronic device 100 includes an operating system 146 andsoftware applications or programs 148 that are executed by the processor102 and are typically stored in a persistent, updatable store such asthe memory 110. Additional applications or programs 148 may be loadedonto the portable electronic device 100 through the wireless network150, the auxiliary I/O subsystem 124, the data port 126, the short-rangecommunications subsystem 132, or any other suitable subsystem 134.

A received signal such as a text message, an e-mail message, or web pagedownload is processed by the communication subsystem 104 and input tothe processor 102. The processor 102 processes the received signal foroutput to the display 112 and/or to the auxiliary I/O subsystem 124. Asubscriber may generate data items, for example e-mail messages, whichmay be transmitted over the wireless network 150 through thecommunication subsystem 104. For voice communications, the overalloperation of the portable electronic device 100 is similar. The speaker128 outputs audible information converted from electrical signals, andthe microphone 130 converts audible information into electrical signalsfor processing.

FIG. 2 shows a front view of an example of a portable electronic device100 in portrait orientation. The portable electronic device 100 includesa housing 200 that houses internal components including internalcomponents shown in FIG. 1 and frames the touch-sensitive display 118such that the touch-sensitive display 118 is exposed foruser-interaction therewith when the portable electronic device 100 is inuse. It will be appreciated that the touch-sensitive display 118 mayinclude any suitable number of user-selectable features renderedthereon, for example, in the form of virtual buttons for user-selectionof, for example, applications, options, or keys of a keyboard for userentry of data during operation of the portable electronic device 100.

The touch-sensitive display 118 may be any suitable touch-sensitivedisplay, such as a capacitive, resistive, infrared, surface acousticwave (SAW) touch-sensitive display, strain gauge, optical imaging,dispersive signal technology, acoustic pulse recognition, and so forth,as known in the art. A capacitive touch-sensitive display includes acapacitive touch-sensitive overlay 114. The overlay 114 may be anassembly of multiple layers in a stack including, for example, asubstrate, a ground shield layer, a barrier layer, one or morecapacitive touch sensor layers separated by a substrate or otherbarrier, and a cover. The capacitive touch sensor layers may be anysuitable material, such as patterned indium tin oxide (ITO).

One or more touches, also known as touch contacts or touch events, maybe detected by the touch-sensitive display 118. The processor 102 maydetermine attributes of the touch, including a location of a touch.Touch location data may include an area of contact or a single point ofcontact, such as a point at or near a centre of the area of contact. Thelocation of a detected touch may include x and y components, e.g.,horizontal and vertical components, respectively, with respect to one'sview of the touch-sensitive display 118. For example, the x locationcomponent may be determined by a signal generated from one touch sensor,and the y location component may be determined by a signal generatedfrom another touch sensor. A signal is provided to the controller 116 inresponse to detection of a touch. A touch may be detected from anysuitable object, such as a finger, thumb, appendage, or other items, forexample, a stylus, pen, or other pointer, depending on the nature of thetouch-sensitive display 118. Multiple simultaneous touches may bedetected.

The touch-sensitive display 118 is described herein in the context offingers of a device user for purposes of convenience only. It will beappreciated that a stylus or other object may be used for interactingwith the touch-sensitive display 118 depending on the type.

The actuator(s) 120 may be depressed or activated by applying sufficientforce to the touch-sensitive display 118 to overcome the actuation forceof the actuator 120. The actuator(s) 120 may be actuated by pressinganywhere on the touch-sensitive display 118. The actuator(s) 120 mayprovide input to the processor 102 when actuated. Actuation of theactuator(s) 120 may result in provision of tactile feedback. When forceis applied, the touch-sensitive display 118 is depressible, pivotable,and/or movable. Such a force may actuate the actuator(s) 120. In otherembodiments, the actuator(s) 120 may be omitted.

A flowchart illustrating an example embodiment of a method 300 ofcontrolling the repeat rate of a button in a user interface screendisplayed on the touch-sensitive display 118 of the portable electronicdevice 100 is shown in FIG. 3. The method 300 may be carried out bysoftware executed, for example, by the processor 102. Coding of softwarefor carrying out such a method 300 is within the scope of a person ofordinary skill in the art given the present disclosure. The method 300may contain additional or fewer processes than shown and/or described,and may be performed in a different order. Computer-readable codeexecutable by at least one processor 102 of the portable electronicdevice 100 to perform the method 300 may be stored in acomputer-readable medium such as the memory 110.

In a first step 301, the portable electronic device 100 displays a userinterface screen having at least one button having a repeatable actionon the touch-sensitive display 118. The user interface screen may be anyuser interface screen and the button, sometimes referred to as a virtualbutton or onscreen button, may be any button or key having a repeatableaction. In the example embodiments shown in FIGS. 4A, 4B and 5A to 5C,the user interface screen is a text entry user interface screen, such asa message composition user interface screen, and the button is akeyboard button.

Examples of buttons having a repeatable action include, but are notlimited to, the ENTER (or delimiter) button, space button, backspacebutton, numeric buttons and symbol buttons. The button may be anyonscreen button or (key) such as a letter button configured to use theactivation input for variable repeat control mode, described below.

The input used for activation input may be used by one or more buttonsfor some other purpose in which case the variable repeat control modecannot be used for such buttons. For example, in some embodiments, theactivation input for activating the variable repeat control mode is atouch and hold gesture which, for letter buttons, may be used forcapitalization or invoking accent popup menus. Accordingly, the touchand hold gesture may not be used for activating the variable repeatcontrol mode for letter buttons in such embodiments. However, if aninput other than a touch and hold gesture is used for activating thevariable repeat control mode, the variable repeat control mode may beused for letter buttons. Alternatively, the input for capitalization orinvoking accent popup menus may be changed to an input other than atouch and hold gesture.

Referring now to FIGS. 4A and 4B, example user interface screens havinga backspace button with a variable repeat rate in accordance with thepresent disclosure are shown. FIG. 4A shows a message composition userinterface (UI) screen for composing electronic messages such as emailmessages in a portrait screen orientation. The message composition UIscreen comprises a message portion 402 and a keyboard 404 sometimesreferred to as a virtual keyboard or onscreen keyboard. In the shownexample, the keyboard 404 is located below the message portion 402 andis a reduced keyboard. A full keyboard may alternatively be used, forexample, when the message composition UI screen is in a landscape screenorientation.

The keyboard 404 includes a backspace button 410 having a variablerepeat rate in accordance with the present disclosure. The backspacebutton 410 is activated in the message composition UI screen shown inFIG. 4A. When the backspace button 410 is activated, the appearance ofthe backspace button 410 is changed from a first visual state whichprovides a visual indication that the variable repeat control mode ofthe backspace button 410 is not activated (e.g., deactivated) to asecond visual state which provides a visual indication that the variablerepeat control mode of the backspace button 410 is activated. The secondvisual state is different than the first visual state; however, theimplementation of the first visual state and second visual state mayvary between embodiments.

In the shown embodiment, the background colour and text colour of thebackspace button 410 is changed in response to activation anddeactivation, respectively. In some embodiments, the backspace button410 may have a background colour of blue and a text colour of white whenactivated, and a background colour of black and a text colour of whitewhen deactivated. In other embodiments, a halo, such as a blue halo, maybe displayed on and/or around the backspace button 410 to provide avisual indication that the backspace button 410 is activated. Othervisual schemes, including other colour schemes, may be used to provide avisual indication that a button is activated or deactivated (sometimesalternatively referred to as selected or deselected/unselected).

When a variable repeat control mode of the button 410 is activated asdescribed below, a visual indication of a variable repeat control modearea for receiving predetermined control input for varying the rate ofrepeating the action (i.e., backspace) of the backspace button 410 maybe displayed on the touch-sensitive display 118. The visual indicationof a variable repeat control mode area may be a UI window or box, whichmay be coloured different than the remainder of the UI screen to catchthe attention of the device user. Other visual indications of a variablerepeat control mode area may be used. While no visual indication of avariable repeat control mode area is shown in FIGS. 4A to 5C, a visualindication of the predetermined control input for varying the rate ofrepeating the action of the backspace button 410 is displayed on thetouch-sensitive display 118. The visual indication of the predeterminedcontrol input is typically displayed in the visual indication of avariable repeat control mode area (e.g., UI window or box) whenprovided.

In FIG. 4A, the visual indication of the predetermined control input isa series of round brackets, also known as open brackets or parentheses,extending to the left of the backspace button 410. In the shown example,three round brackets “(((” are shown. The orientation of the brackets ina direction left of the backspace button 410 provides a visualindication that a touch gesture to the left, such as a left swipe, maybe used to repeat the action of the backspace button 410 (e.g.,backspace).

The embodiment shown in FIG. 4B is similar to that shown in 4A with thenotable exception that a series of angle brackets, also known astriangular brackets or chevrons, are used as the visual indication ofthe predetermined control input rather than open brackets. The anglebrackets are located to the left of the backspace button 410 as in FIG.4A, however, in the example of FIG. 4B a single angle bracket “<” isfollowed by double angle brackets “<<” to provide a visual indicationthat the predetermined control input provides proportional control forvarying the rate of repeating the action. The location of the doublebrackets further away from the backspace button 410 provides a visualindication that a touch gesture having longer travel distance, i.e. atouch gesture having a centroid which moves a longer distance over aduration of the touch gesture, will have a greater repeat rate.

In other embodiments, visual indications of the predetermined controlinput for varying the rate of repeating the action may be omitted.

Referring now to FIGS. 5A to 5C, example user interface screens having aspace button 510 with a variable repeat rate in accordance with thepresent disclosure are shown. The user interface screens shown in FIGS.5A to 5C are similar to those of FIGS. 4A and 4B with the notableexception that the keyboard 404 includes a space button 510 rather thana backspace button 410 and that more than one predetermined controlinput are provided.

In FIG. 5A. the visual indication of a first predetermined control inputis a first series of round brackets “(((” extending to the left of thespace button 510. The visual indication of a second predeterminedcontrol input is a second series of round brackets “)))” extending tothe right of the space button 510. In the shown example, three roundbrackets are shown for each predetermined control input. The orientationof the first series of brackets in a direction extending left of thespace button 510 provides a visual indication that a touch gesture tothe left, such as a left swipe, may be used to repeat the action of thespace button 510 (e.g. space character input). Similarly, theorientation of the second series of brackets in a direction extendingright of the space button 510 provides a visual indication that a touchgesture to the right, such as a right swipe, may be used to repeat theaction of the space button 510 (e.g. space character input).

The embodiment shown in FIG. 5B is similar to that shown in 5A with thenotable exception that angle brackets are used as the visual indicationof the predetermined control input rather than open brackets. In theshown embodiment, the visual indication of a first predetermined controlinput is a first series of angle brackets “<<<” extending to the left ofthe space button 510. The visual indication of a second predeterminedcontrol input is a second series of angle brackets “>>>” extending tothe right of the space button 510. As in FIG. 4B described above, asingle angle bracket “<” followed by double angle brackets “<<” providesa visual indication that the predetermined control input providesproportional control for varying the rate of repeating the action. Thelocation of the double brackets further away from the backspace button410 provides a visual indication that a touch gesture having longertravel distance, i.e. a touch gesture having a centroid which moves alonger distance over a duration of the touch gesture, will have agreater repeat rate.

FIG. 5C shows an alternative embodiment in which the user interfacescreen does not provide a visual indication of the predetermined controlinput for varying the rate of repeating the action. The travel of thecentroid of the touch gesture from an initial contact point on the spacebutton 510 is shown in FIG. 5C using an arrowed line. The arrowed linehas been added for the purpose of explanation and does not appear in theUI screen. The UI screen shown in FIG. 5C where no visual indication ofthe predetermined control input is provided may be useful in embodimentsin which the predetermined control input is random movement with therate of repeating the action dependent on a speed of the touch gestureor a travel distance of the touch gesture without regard to direction.

Other visual indications of the predetermined control input for varyingthe rate of repeating the action may be used in other embodiments. Forexample, when the predetermined control input is touch gesture in apredetermined direction, the visual indication may be, but is notlimited to, a directional indication such as an arrow, graphicrepresentation such as an icon, text or alternate bracket type such assquare brackets (e.g., [ ]) or braces (e.g., { }).

Referring again to FIG. 3, in step 302 the portable electronic device100 monitors for and detects activation input for activating the buttonin the user interface screen displayed on the touch-sensitive display118. The button may be a backspace button 410 or space button 510 in thekeyboard 404 as described above, or any other button having a repeatableaction. The activation input may be, but is not limited to, a touch andhold gesture. A touch and hold gesture is detected or recognized when atouch event occurs for a duration which is greater than or equal to athreshold duration. The threshold duration may be, for example, 400milliseconds in some embodiments. Other threshold durations are possiblesuch as, for example, 250 milliseconds. A tap gesture is detected orrecognized when a touch event occurs for a duration which is less thanthe threshold duration.

A touch and hold gesture occurs when a user touches a selectableonscreen item on the touch-sensitive display 118, such as a button ormenu item, with a finger and holds the finger in contact with thetouch-sensitive display 118 for a duration which exceeds the thresholdduration. Touching a selectable onscreen item comprises touching alocation of the touch-sensitive display 118 which is coincident with theselectable onscreen item displayed on the display 112. A location iscoincident with the selectable onscreen item in that the centroid of thetouch event is within an input area of the user interface screenassigned for receiving input for activating the selectable onscreenitem. The input area of the selectable onscreen item may be differentthan the displayed area of the selectable onscreen item on the display112 in some embodiments, typically the input area being larger than thedisplayed area in such embodiments to accommodate touch offset of theuser.

Next, in step 304 a variable repeat control mode of the button isactivated in response to the activation input. The input for activatingthe variable repeat control mode is typically the input for activatingthe button in the user interface screen. This allows the device user toperform the regular action for activating the button, such as touchingthe button or clicking the button by pressing against thetouch-sensitive display 118 so as to actuate the actuator 120. When thebutton has been activated for the threshold duration or the actuator 120is actuated, the variable repeat control mode associated with the buttonis activated. In other embodiments, separate activation input foractivating the variable repeat control mode may be used (such asactivation of a hardware button).

Other methods for activating the variable repeat control mode include,but are not limited to, multiple touch inputs coincident with the buttonwhich are received within a threshold duration of each other,predetermined touch gestures coincident with the button such as a pinchor swipe, or activating a hardware button (e.g., while touching thebutton).

The variable repeat control mode, also known as the variable rate buttonaction repeat control mode, is a temporary control mode introduced tocontrol the repeat rate of the button. When the variable repeat controlmode is activated, a variable repeat control mode area of the UI screendisplayed on touch-sensitive display 118 is reserved for interpretingtouch events, such as touch gestures, for varying the repeat rate of theaction associated with the button. The touch gestures provide fine andcourse grained control over the repeat rate of the action associatedwith the button.

The variable repeat control mode area may be overlaid overtop of anyexisting GUI components. Touch events within the variable repeat controlmode area will be interpreted for varying the repeat rate of the actionassociated with the button and will not be relayed to any underlying GUIcomponents. The variable repeat control mode area may include the areaof the button in the UI screen. The variable repeat control mode areamay be the entire UI screen, or the entire input area of thetouch-sensitive display 118 in some embodiments.

A visual indication of the variable repeat control mode area may beprovided. Alternatively, the visual state of the button may be changedto indicate that the button has entered the variable repeat control moderather than a visual indication of the variable repeat control modearea, or no visual indication may be provided.

Next, in step 306 the portable electronic device 100 monitors for anddetects predetermined control input for repeating the action associatedwith the button. The action may be any suitable action including, butnot limited to, a backspace action of backspace button, space characterentry of a space button, or delimiter input entry of an ENTER button.The predetermined control input may be a touch gesture performed bytouching the touch-sensitive display 118 in a predetermined manner,typically using a finger, and detected by the touch-sensitive display118. The touch gesture may be performed at any location in the variablerepeat control mode area of the touch-sensitive display 118. In someembodiments, a centroid of the touch gesture may move outside of thevariable repeat control mode area provided that an initial contact pointof the touch gesture is within the variable repeat control mode area.The touch gesture may comprise a series of small movements which areevaluated during the touch event with respect to a centroid of the touchevent, or a swipe gesture which is evaluated after the correspondingtouch event has ended.

The touch gesture may be a random movement in any two-dimensionaldirection as that shown by the arrowed lined in FIG. 5C. When the touchgesture of the predetermined control input is a random movement, therate of repeating the action is dependent on a speed of the touchgesture or a travel distance of the touch gesture without regard todirection. Alternatively, the touch gesture may be a movement in apredetermined direction (e.g., horizontal, vertical, etc.) as shown inFIGS. 4A, 4B, 5A and 5B. The touch gesture comprising movement in apredetermined direction is defined by a touch event having a centroidwhich moves from an initial contact point by an amount which exceeds athreshold distance in the predetermined direction (typically measured indisplayed pixels). The predetermined direction may be a generallyhorizontal direction (i.e., left or right) relative to the screenorientation of the GUI, or a generally vertical direction (i.e., up ordown) relative to the screen orientation of the GUI. Horizontalmovements are often more intuitive for device users, however, bothvertical and horizontal movements may be used in different embodiments.

A touch gesture in the horizontal direction may have a verticalcomponent as well as a horizontal component provided that the verticalcomponent is within a threshold tolerance, or the ratio of the verticalcomponent to the horizontal component is within a threshold tolerance.Similarly, a touch gesture in the vertical direction may have ahorizontal component as well as a vertical component provided that thehorizontal component is within a threshold tolerance, or the ratio ofthe horizontal component to the vertical component is within a thresholdtolerance. Touch data reported by the touch-sensitive display 118 may beanalyzed to determine whether the horizontal component or verticalcomponent is less than the threshold tolerance. When it is less than thethreshold tolerance, the touch gesture is considered to be in agenerally horizontal direction or a generally vertical direction as thecase may be. When it is more than the threshold tolerance, the touchgesture is not considered generally horizontal direction or generallyvertical direction.

Swipe gestures have a single direction and do not comprise a number ofmovements. Swipe gestures are evaluated by the portable electronicdevice 100 after the corresponding touch event has ended. The directionof the swipe gesture is evaluated with respect to an initial contactpoint of the touch event at which the finger makes contact with thetouch-sensitive display 118 and a terminal (or ending) contact point atwhich the finger is lifted from the touch-sensitive display 118.Examples of swipe gestures include a horizontal swipe gesture andvertical swipe gesture. A horizontal swipe gesture typically comprisesan initial contact with the touch-sensitive display 118 towards its leftor right edge to initialize the gesture, followed by a horizontalmovement of the point of contact from the location of the initialcontact to the opposite edge while maintaining continuous contact withthe touch-sensitive display 118, and a breaking of the contact at theopposite edge of the touch-sensitive display 118 to complete thehorizontal swipe gesture. Similarly, a vertical swipe gesture typicallycomprises an initial contact with the touch-sensitive display 118towards its top or bottom edge to initialize the gesture, followed by avertical movement of the point of contact from the location of theinitial contact to the opposite edge while maintaining continuouscontact with the touch-sensitive display 118, and a breaking of thecontact at the opposite edge of the touch-sensitive display 118 tocomplete the vertical swipe gesture.

Swipe gestures may be of various lengths, may be initiated in variousplaces within the variable repeat control mode area on thetouch-sensitive display 118, and need not span the full dimension of thetouch-sensitive display 118. In addition, breaking contact of a swipemay be gradual, in that contact pressure on the touch-sensitive display118 is gradually reduced while the swipe gesture is still underway.

Next, in step 308 the portable electronic device 100 repeats the actionassociated with the button when the predetermined control input isreceived by the portable electronic device 100 and detected, forexample, by the processor 102. The rate at which the action is repeatedis dependent on the predetermined control input. The rate may beproportional to the predetermined control input. The predeterminedcontrol input, in at least some embodiments, is a touch gestureperformed after maintaining contact with the touch-sensitive display 118after activating the button. The rate of repeating the action may bedependent on either a speed of the touch gesture or a travel distance ofthe touch gesture. The speed or travel distance may be measured by themovement of the centroid of the touch gesture over its duration.

Random movements may be used to control the repeat rate or number ofrepeats of the action in some embodiments. In such embodiments, the ratethat the action is repeated may be dependent on the distance that thecentroid of the touch event has moved relative to a previous locationwithout regard to direction, the activated button, or an initiallocation of the touch gesture. The distance moved by the centroid isreferred to as the travel distance of the touch gesture. The action,e.g., backspace of the backspace button 410, or space character input ofthe space button 510, may be repeated each time the centroid of thetouch gesture moves a threshold distance relative to the previouslocation. The threshold distance may be measured in a straight line fromthe previous location (e.g., previous location where the action wasrepeated). In some embodiments, the threshold distance is 10 linearpixels, however, other threshold distances may be used. Linear pixelsare pixels measured in a straight line rather than a curved or irregularpath. The action may be repeated at a default interval in the absence ofthe predetermined control input. This is convenient when the user doesnot wish to control the number of repeats or a repeat rate of theaction. Alternatively, in other embodiments the action is not repeatedin the absence of the predetermined control input.

In other embodiments, throttle-style movements may be used to controlthe repeat rate or number of repeats of the action. In such embodiments,the rate of repeating may be proportional to a multiplier calculated asthe distance from an initial location coincident with the button, suchas the closest edge of the button, divided by a threshold distance(e.g., 10 linear pixels) rounded to the nearest integer. A defaultbutton (or key) repeat rate may be multiplied by this multiplier toarrive at the adjusted repeat rate. For example, a default key repeatrate of one key repeat every 250 milliseconds may be used in someembodiments. The repeat rate is based on the finger's distance (centroidof the touch gesture reported by the touch-sensitive display 118) fromthe closest edge of the button. In other words, the further the finger(e.g., centroid) is from an edge of the button, the faster the action isrepeated. Similarly, the closer the finger (e.g., centroid) is to anedge, the slower the button action is repeated. The initial location maybe the centroid of the touch event activating the button rather than anedge of the activated button. For example, if the threshold distance is10 linear pixels and the distance of centroid of the touch gesture fromthe initial location is 30 linear pixels, the multiplier is 3 (30/10=3).Increasing the repeat rate by a multiplier provides a control scheme inwhich a user's finger does not have to move far from the location of thebutton to control the repeat rate.

When the centroid of the touch gesture remains within the bounds of thebutton, the action may be repeated at a default interval in the absenceof the predetermined control input. Alternatively, in other embodimentsthe action is not repeated in the absence of the predetermined controlinput.

When the distance from an initial location is used rather than aprevious location in the context of random movement, the direction ofthe movement of the centroid from this location may be used tocorrespond to different actions. Examples of a user interface screen forsuch an example is shown in FIGS. 5A and 5B. For example, the repeatrate could be increased in a first direction (e.g., movement to theright) and decreased in a second direction (e.g., movement to the left).Alternatively, when the button is a space button 510, the movement inone direction (e.g., movement to the right of the space button 510) mayinsert space characters at a rate proportional to the distance from thebutton whereas movement in a second direction (e.g., movement to theright of the space button 510) may insert backspace at a rateproportional to the distance from the space button 510.

The first direction and second direction may be generally opposite toeach other to provide more intuitive control for device users, however,the first and second directions may be oriented differently with respectto each other. Similarly, the first direction and second direction maybe left and right relative to the screen orientation of GUI,respectively, to provide more intuitive control for device users,however, vertical directions, vertical and horizontal directions, orclockwise or counterclockwise directions may be used in differentembodiments.

In other embodiments, the predetermined control input for repeating theaction associated with the button may be a particular type of touchgesture including, but not limited to, a circular gesture, pinchgesture, or swipe, etc. When the predetermined control input is acircular gesture, the direction of the touch gesture is clockwise orcounterclockwise. The direction of the touch gesture may be used toperform different key repeat actions. For example, movement in onedirection (e.g., clockwise relative to the space button 510) may insertspace characters whereas movement in a second direction (e.g.,counterclockwise relative to the space button 510) may insert backspace.

Alternatively, in other embodiments, rather than controlling a rate atwhich the action is repeated, the predetermined control input may repeatthe action by an amount which is dependent on the predetermined controlinput. In other words, the action may be repeated a number of timesbased on predetermined control input, such as a speed of the touchgesture or a travel distance of the touch gesture, typically withoutregard to direction. For example, the travel distance (e.g. 10 linearpixels of movement) could be translated into a corresponding number ofkey/button repeats (e.g., 1) in accordance with a ratio of distance torepeats (e.g., 10:1). The action is typically repeated at a defaultinterval in the absence of the predetermined control input. This isconvenient when the user does not wish to control the number of repeatsor a repeat rate of the action. Repeating the action a number of repeatsbased on a distance or speed of the touch gesture may be more effectivefor a control scheme based on random movement or a control scheme basedon a particular type of touch gesture such as circular touch gesture. Incontrast, increasing the repeat rate by a multiplier may be moreeffective for a control scheme based on throttle-style movement in whicha user's finger does not have to move far from the button to control therepeat rate.

Next, in step 310 the variable repeat control mode is deactivated inresponse to deactivation input for deactivating the variable repeatcontrol mode of the button. The variable repeat control mode associatedwith the button may be deactivated by performing the regular action fordeactivating the button such as breaking contact with thetouch-sensitive display 118, for example, by lifting the finger afterperforming the predetermined control input for repeating the actionassociated with the at least one button, or unclicking the button bypressing against the touch-sensitive display 118 so as to actuate theactuator 120.

Other methods for deactivating the variable repeat control mode include,but are not limited to, activating an area or UI component outside ofthe variable repeat control mode area, activating a hardware button,multiple touch inputs coincident with the button which are receivedwithin a threshold duration of each other, or predetermined touchgestures coincident with the button such as a pinch or swipe.

When the variable repeat control mode is deactivated, the UI componentsof the user interface screen within the variable repeat control modearea return to normal operation and receive touch inputs from the userin the ordinary way.

Unlike conventional buttons in which the action associated with thebutton is repeated on an interval basis, the present disclosure providesa method in which the repeat rate of a button may be directly controlledby the user without having the user repeatedly activate the button. Thisreduces wear on the portable electronic device and may reduce the errorrate when repeating action compared to conventional approaches.

While the present disclosure is described primarily in terms of methods,the present disclosure is also directed to a portable electronic deviceconfigured to perform at least part of the methods. The portableelectronic device may be configured using hardware modules, softwaremodules, a combination of hardware and software modules, or any othersuitable manner. The present disclosure is also directed to apre-recorded storage device or computer-readable medium havingcomputer-readable code stored thereon, the computer-readable code beingexecutable by at least one processor of the portable electronic devicefor performing at least parts of the described methods.

The present disclosure may be embodied in other specific forms withoutdeparting from its spirit or essential characteristics. The describedembodiments are to be considered in all respects as being onlyillustrative and not restrictive. The present disclosure intends tocover and embrace all suitable changes in technology. The scope of thepresent disclosure is, therefore, described by the appended claimsrather than by the foregoing description. All changes that come withinthe meaning and range of equivalency of the claims are intended to beembraced within their scope.

1. A method of controlling touch input on a touch-sensitive display of aportable electronic device, the method comprising: displaying a userinterface screen having at least one button on the touch-sensitivedisplay; activating a variable repeat control mode in response toactivation input; and repeating an action associated with the button ata rate dependent on predetermined control input.
 2. The method of claim1, wherein the rate is proportional to the predetermined control input.3. The method of claim 1, wherein the predetermined control input is atouch gesture detected by the touch-sensitive display, and the rate isdependent on a speed of the detected touch gesture or a travel distanceof the detected touch gesture.
 4. The method of claim 3, wherein therate is dependent on a travel distance of the detected touch gesture,wherein the action is repeated each time a centroid of the touch gesturemoves a threshold distance.
 5. The method of claim 4, wherein thethreshold distance is 10 linear pixels, wherein the action is repeatedeach time the centroid of the touch gesture moves 10 linear pixels froma previous location.
 6. The method of claim 1, wherein the activationinput is a touch input coincident with the button for a duration whichis greater than or equal to a threshold duration.
 7. The method of claim1, wherein the activation input is multiple touch inputs coincident withthe button which are received within a threshold duration of each other.8. The method of claim 1, wherein the activation input is a touch inputcoincident with the button for a duration which exceeds a thresholdduration and the predetermined control input is a touch gesture detectedby the touch-sensitive display, wherein the rate is proportional to adistance of a centroid of the touch gesture from a location of thebutton.
 9. The method of claim 8, wherein the location of button is anedge of the button.
 10. The method of claim 8, wherein the location is acentroid of the touch input activating the button.
 11. The method ofclaim 8, wherein the rate is increased in response to movement of thecentroid in a first direction and decreased in response to movement ofthe centroid in a second direction generally opposite to the firstdirection.
 12. The method of claim 1, further comprising: repeating theaction at a default interval in the absence of the predetermined controlinput.
 13. The method of claim 1, wherein the action is not repeated inthe absence of the predetermined control input.
 14. The method of claim1, further comprising: displaying the button in a first visual statewhen the variable repeat control mode of button is not activated;displaying the button in a second visual state different from the firstvisual state when the variable repeat control mode of the button isactivated.
 15. The method of claim 1, wherein a visual indication of thepredetermined control input for varying the rate of repeating the actionis displayed on the touch-sensitive display when the variable repeatcontrol mode is activated.
 16. The method of claim 1, wherein a variablerepeat control mode area is defined for receiving the predeterminedcontrol input.
 17. The method of claim 16, wherein a visual indicationof the variable repeat control mode area is displayed on the userinterface screen when in the variable repeat control mode.
 18. A methodof controlling touch input on a touch-sensitive display of a portableelectronic device, the method comprising: displaying a user interfacescreen having at least one button on the touch-sensitive display;varying a repeat rate of an action associated with the button inresponse to received input; and repeating the action associated with thebutton at the repeat rate.
 19. The method of claim 18, wherein therepeat rate is varied by an amount proportional to the received input.20. An electronic device, comprising: a processor; a touch-sensitivedisplay having a touch-sensitive overlay coupled to the processor;wherein the processor is configured for: causing displaying of a userinterface screen having at least one button on the touch-sensitivedisplay; activating a variable repeat control mode in response toactivation input; and repeating an action associated with the button ata rate dependent on predetermined control input.